- alter Gedankengang war falsch
    - FreeRTOS hat bei ecall instr. blockiert, für immer, daher wurden layered interr. ausgeschalten, aber das war nicht richtig
    - beim stöbern im code ist mir aufgefallen, dass die Semantik d. ecall instr. womöglich eine andere ist...
    - nachlesen im priv. spec. hat ergebn dass ecall/ebreak exceptions sind, keine interrupts (war nicht klar wegen mehrdeutiger Sprache, aber ein Blick auf die Tabelle v. exception priorities offenbart es auch)
- alte changes reverted: keine layered interrupts
    - außerdem steht im spec an irgend einer Stelle, dass bei ecall NICHT mepc <- pc + 4 gesetzt werden soll (sondern mepc <- pc)
- ecall/ebreak Semantik behoben
    - softw. int. nur noch auslösbar über "mip" write
    - ecall: "env. call from M-mode" exception
    - ebreak: "breakpoint" exception
    - unit tests anpassen (TODO)
    - test programme anpassen (TODO)
- jetzt funktioniert das task switching richtig: start scheduler -> schedule task 1 -> suspend task 1 -> schedule task 2 -> suspend task 2 -> schedule idle task (indefinitely) (+ tick interrupts)
    - aber task 1/2 werden kein 2-tes mal gescheduled, ähnliche Ausgangslage zu vorher...
    - wahrschienlich falscher mepc Wert, wird übernommen im idle Task
        - leider mehr debugging... (TODO)
        - SPIKE ISA simulator debugging (?) (TODO)
